package com.shujia

/**
  * main方法只能放在object中运行
  * object 修饰的类  就相当于静态类 也相当于代码加载到虚拟机中的 “类对象”
  * 类中的方法及属性 相当于自动加上了 static
  * 可以直接通过 “类对象”（类名）直接进行调用
  * 单例模式
  */

object Demo2Scala {
  val i=10

  /**
    * Scala中的main方法
    * 在scala中方法不可以用static修饰
    *
    *
    * def 定义一个函数的关键字
    * main 方法名
    * args: Array[String] 参数名:参数类型
    * Unit 返回值类型 相当于java中的void
    * {} 方法体
    */
  def main(args: Array[String]): Unit = {
    println("hello world")

    println(Demo2Scala.i)
    println(i)
    Demo2Scala.print()
    val str1:String = Demo2Scala.prints("www")
    prints(str1)
  }

  def print(): Unit ={
    println("scala")
  }

  def prints(s:String): String ={
    println(s)
    return "str"
  }

}
